% !Mode:: "TeX:UTF-8"

\chapter{项目的实现}

\section{需求分析}
\begin{itemize}
\item{订餐系统的战略分析}：该系统能提高订餐效率，提高餐厅的销售量，提高饿了么公司竞争力和生存力；
该系统的有利条件是该项目会受到重视，直接影响公司核心价值，会给足够的预算。不利条件是普及餐厅比较困难，
餐厅数量较多。公司会更关注该项目的实际价值，希望项目能在短期内达到一定效果，在此基础上再考虑更多的功能。
\item{订餐系统的需要分析}：
\begin{itemize}
\item{目标}：订餐系统的目标是提供一个方便快捷的订餐平台，使用户能够轻松进行浏览菜单、选择菜品、管理购物车、下单支付等操作，从而提高用户的订餐体验。
\item{涉众}：涉众包括用户和商家。用户是系统的主要使用者，商家负责管理菜单信息。
\item{项目成功标准}：系统能够满足用户的需求，提供稳定可靠的服务。用户能够方便地浏览菜单、选择菜品、管理购物车、选择地址、下单支付。同时，系统还需要保证支付的安全性。
\end{itemize}


\item{订餐系统的流程分析}：

~~~~~~~主要涉及用户订餐的整个过程，包括选择分类、选择商家、查询订单、下单支付等环节。
    
~~~~~~~首先，用户可以通过界面浏览菜单，系统会显示菜品的名称、价格和描述等信息。用户可以根据自己的喜好选择菜品，并将其添加到购物车中。

~~~~~~~接下来，用户可以管理购物车中的菜品。用户可以增加、删除或修改购物车中的菜品数量。用户还可以查看购物车中的总价，并可以选择继续添加菜品或下单支付。

~~~~~~~当用户决定下单支付时，系统会生成订单。用户需要选择支付方式，并提供相应的支付信息。系统会验证支付信息的准确性，并完成支付流程。


~

~

~

~

~

~

描述订餐系统订餐过程如下图~\ref{fig:HDT}所示:
\begin{figure}[htbp]
\centering
\includegraphics[width=0.7\textwidth]{HDT}
\caption{描述订餐系统订餐过程}\label{fig:HDT}
 \end{figure}



描述用户购买食品时使用积分和优惠券的流程如下图~\ref{fig:HDT2}所示:
\begin{figure}[htbp]
    \vspace{-3.0em}
    \centering
    \includegraphics[width=0.6\textwidth]{HDT2}
    \vspace{-4.0em}
    \caption{使用积分与优惠券的流程}\label{fig:HDT2}
     \end{figure}

当用户订餐时，可以直接查询自己所拥有的优惠券并购买食品。也可以查询自己剩余的积分，并选择是否用积分兑换优惠券，再购买食品。

~

~

~

~

用户使用优惠券、使用虚拟钱包进行支付如图~\ref{fig:HDT3}所示:
\begin{figure}[htbp]
    \centering
    \includegraphics[width=0.7\textwidth]{HDT3}
    \vspace{-3.0em}
    \caption{使用优惠券、虚拟钱包支付}\label{fig:HDT3}
     \end{figure}

在具体的订餐过程中，用户在使用了优惠券后，将从自己的虚拟钱包中扣除金额。同时虚拟钱包自身还具有充值和提现的功能。在成功购买食品后，系统将扣除优惠券，同时用户获得一定的积分。
\end{itemize}
~

~

~

\section{项目设计}

饿了么订餐系统作为在线订餐平台，旨在为用户提供方便快捷的订餐服务。用户可以通过系统浏览菜单、选择菜品、
下订单，并选择配送或自取等方式完成订餐流程。除此之外，该订餐系统还提供了用户管理、菜品管理、订单管理等功能，以便商家和管理员能够方便地管理系统的运营。
\begin{itemize}

\item{用户界面设计}：设计了用户界面，包括菜单展示、购物车、订单管理、收货地址、在线支付、虚拟钱包、交易流水等功能的界面设计，
提供简洁、直观且易于操作的界面。同时，由于其合理的布局和导航设计，使用户能够快速找到所需功能和信息。确保用户体验友好和操作便捷，提升用户的参与感和满意度。
\item{数据库设计}：根据系统的需求和业务逻辑设计出合适的数据库结构，包括商家信息、顾客信息、菜品信息、订单信息等。搭建时考虑了数据的一致性、完整性和性能。合理定义表之间的关系和约束，确保了数据的正确性和可靠性。
利用分布式数据库通过增加新节点来应对数据规模的增长，而无需重构整个系统，支持大量的数据和用户，实现了水平扩展。
\item{安全性设计}：考虑系统的安全性，包括用户身份验证、加入了验证码的功能，确保用户的信息安全。为了进一步加强网络传输的安全性，引入HTTPS协议。基于用户安全性考虑，欲将用户之间的数据访问隔离，故引入JWT验证技术。为了保护用户数据的安全性，还对密码等敏感数据进行了加密存储，以防止数据泄露和非法访问。提升了系统的安全性和抵御能力。
\item{创新设计}：新增加了找回密码、隐藏密码、支付功能、积分系统、会员制度、个人中心、虚拟钱包、交易流水、银行卡等功能，以提升系统的竞争力和用户吸引力，增加了用户间的互动和社交性，还能更好地提升系统的价值和用户体验，满足用户的多样化需求。
\item{测试计划}：测试计划是订餐系统开发过程中至关重要的一部分，它确保系统的功能和质量符合需求，并提供稳定和可靠的用户体验。在测试时，制定出了详细的测试计划和测试用例，用于验证系统的各个功能和场景。测试用例覆盖了各种正常和异常情况，以确保系统的稳定性和容错性。同时对该项目进行了压力测试，找到各个接口的瓶颈和极限，以确定系统在承受压力时的表现和稳定性。
\item{维护计划}：维护计划是订餐系统项目中的重要组成部分。本组制定了合理的维护计划和时间表。维护计划应包括对系统的定期检查、更新和优化等。定期检查可以发现潜在的问题和风险，及时采取措施进行修复和预防。

~

~

~

\end{itemize}










